package com.first.computerstore.dao;

import com.first.computerstore.entity.Cart;
import com.first.computerstore.vo.CartVo;

import java.util.List;

/**
 * Description:
 * Author: LI
 * Date: 2023/6/29 9:02
 * Version: ${1:1.0.0}
 */
public interface CartMapper {

    /**
     * 通过用户id查询商品对象
     *      关联购物车数据表进行查询
     * @param uid
     * @return
     */
    public List<CartVo> queryCartProductByUid(Integer uid);

    /**
     * 删除购物车商品
     * @param cid
     * @return
     */
    public Integer deleteProductFromCart(String cid);


    /**
     * 修改商品数量
     * @param cid
     * @param num
     * @return
     */
    public Integer updateCartNum(Integer cid,Integer num,String uname);


    /**
     * 执行添加操作
     * @param uid
     * @param pid
     * @param price
     * @param num
     * @param uname
     * @return
     */
    public Integer addUserCart(Integer uid,Integer pid, Long price, Integer num,String uname);

    /**
     * 查询购物车
     * @param cid
     * @return
     */
    Cart queryCartByCid(Integer cid);

    /**
     * 连表查询商品和购物车信息
     * @param cid
     * @return
     */
    CartVo queryCartVoByCid(Integer cid);

    /**
     * 查询商品状态码
     * @param pid
     * @return
     */
    Integer queryProductStatusByPid(Integer pid);
}
